----------------------------------------------STORED PROCEDURE ĐĂNG NHẬP - ĐĂNG KÝ-------------------------------------
--KIỂM TRA TÀI KHOẢN ĐĂNG NHẬP
CREATE PROC SP_CHECK_ACCOUNT_LOGIN @USERNAME VARCHAR(20), @PASSWORD VARCHAR(10), @KQ INT OUT
AS
BEGIN
	IF(EXISTS (SELECT * FROM NGUOIDUNG ND WHERE ND.USERNAME = @USERNAME AND ND.PASS = @PASSWORD))
		SET @KQ = 0 --ĐÃ TỒN TẠI TÀI KHOẢN ==> CÓ THỂ ĐĂNG NHẬP
	ELSE
		SET @KQ = 1 --CHƯA TỒN TẠI TÀI KHOẢN ==> KO THỂ ĐĂNG NHẬP
END
--KIỂM TRA EMAIL
GO
CREATE PROC SP_CHECK_EMAIL @EMAIL VARCHAR(20), @KQ INT OUT
AS
BEGIN
	IF(EXISTS (SELECT * FROM KHACHHANG KH WHERE KH.EMAIL = @EMAIL))
		SET @KQ = 0 --ĐÃ TỒN TẠI EMAIL ==> CÓ THỂ GỬI MAIL XÁC NHẬN
	ELSE
		SET @KQ = 1 --CHƯA TỒN TẠI EMAIL ==> KO THỂ GỬI MAIL XÁC NHẬN
END

--INSERT THONG TIN DANG KY VAO BANG NGUOI DUNG VA LẤY MÃ USER
GO

CREATE PROC SP_INSERT_NGUOIDUNG_LAY_MAUSER @USERNAME VARCHAR(20), @PASSWORD VARCHAR(10), @MAUSER VARCHAR(5) OUT
AS
BEGIN
	INSERT INTO NGUOIDUNG VALUES (@USERNAME, @PASSWORD, '2')
	SET @MAUSER = (SELECT MAUSER
				   FROM NGUOIDUNG ND
				   WHERE ND.USERNAME = @USERNAME AND ND.PASS = @PASSWORD)
 
END

--THÊM KHÁCH HÀNG
GO
CREATE PROC SP_INSERT_KHACHHANG @HOTEN NVARCHAR(50), @MALOAIKH INT, @MAUSER VARCHAR(5), @NGAYSINH DATE, @EMAIL NVARCHAR(50), @KQ INT OUT
AS
BEGIN
	IF(@MALOAIKH != 2)
	BEGIN
		IF( YEAR(GETDATE()) - YEAR(@NGAYSINH) < 18)
			SET @MALOAIKH = 1 -- LÀ TRẺ EM
		ELSE
			SET @MALOAIKH = 0 -- LÀ NGƯỜI LỚN
	END
	
	-- THÊM KHÁCH HÀNG
	
	--INSERT INTO NGUOIDUNG VALUES (@USERNAME, @PASSWORD, '2')
	--DECLARE @MAUSER VARCHAR(5)
 
	--EXEC SP_LAY_MAUSER @USERNAME, @PASSWORD, @MAUSER OUTPUT
	INSERT INTO KHACHHANG VALUES (@HOTEN, @MALOAIKH, '2', @MAUSER, @NGAYSINH, @EMAIL, 0) --0 LÀ KO CÓ THẺ THÀNH VIÊN
	
	--KIỂM TRA KHÁCH HÀNG CÓ THÊM THÀNH CÔNG HAY CHƯA
	IF (EXISTS(SELECT * FROM KHACHHANG WHERE MAUSER = @MAUSER))
		SET @KQ = 0 --THÊM THÀNH CÔNG
	ELSE
		SET @KQ = 1 -- THÊM KHÔNG THÀNH CÔNG
END

--KIỂM TRA TÀI KHOẢN TRƯỚC KHI THÊM
GO
CREATE PROC SP_KIEMTRATAIKHOAN @USERNAME NVARCHAR(20), @KQ INT OUT
AS
BEGIN
 IF (EXISTS (SELECT * FROM NGUOIDUNG ND WHERE  ND.USERNAME = @USERNAME))
  SET @KQ = 1 -- KHÔNG ĐƯỢC THÊM 
 ELSE
  SET @KQ = 0 -- ĐƯỢC QUYỀN THÊM
END

--LẤY MÃ LOẠI NGƯỜI DÙNG
GO
CREATE PROC SP_LAY_MALOAIND @USERNAME VARCHAR(20), @PASSWORD VARCHAR(10), @MALOAIND INT OUT
AS
BEGIN
 SET @MALOAIND = (SELECT MALOAIND
				  FROM NGUOIDUNG ND
				  WHERE ND.USERNAME = @USERNAME AND ND.PASS = @PASSWORD)
 
END


